﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Snake
{
    /// <summary>
    /// A játékobjektumot reprezentáló absztrakt osztály.
    /// </summary>
    public abstract class gameObject
    {
        /// <summary>
        /// Konstruktor
        /// </summary>
        public gameObject()
        {
            size = new Size(1, 1);
        }
        /// <summary>
        /// A játékobjektum mérete
        /// </summary>
        public Size size { get; set; }

        /// <summary>
        /// A játékobjektum pozicióját tárolja
        /// </summary>
        public Point position { get; set; }

        /// <summary>
        /// A játékobjektum megjelenítéséért felelős eljárás
        /// </summary>
        /// <param name="g">Erre a Graphics objektumra rajzol az eljárás</param>
        public abstract void Paint(Graphics g);
    }


    /// <summary>
    /// Az almát reprezentáló osztály
    /// </summary>
    public class apple : gameObject
    {
        public override void Paint(Graphics g)
        {
            g.FillRectangle(Brushes.Red, new Rectangle(position, size));
        }
    }

    /// <summary>
    /// A falat reprezentáló osztály
    /// </summary>
    public class wall : gameObject
    {
        public override void Paint(Graphics g)
        {
            g.FillRectangle(Brushes.Brown, new Rectangle(position, size));
        }
    }
}
